// stores/userStore.js
import { defineStore } from 'pinia'
import { reactive } from 'vue'

export const useUserStore = defineStore('user', {
  state: () => ({
    User: reactive({
      // 初始状态
      schoolId: -1,
      gradeId: -1,
      classId: -1,
      districtId: -1,
      cityId: -1,
      userRoleId: -1,
      status: -1,
      name: '',
      school: '',
      grade: '',
      className: '',
      city: '',
      district: '',
      mail: '',
      identityId: '',
      number: '',
      phone: '',
      address: '',
      nation: '',
      stay: '',
      familyType: '',
      siblingRank: '',
      fatherEdu: '',
      motherEdu: '', //母亲学历(学生)
      subject: '', //学科(老师)
      id: -1,
      age: -1,
      isUse: false, //是否能使用
      sex: '',
      username: '',
      password: '',
      token: '',
      Prompt: false
    })
  }),
  actions: {
    setUserProperty(key, value) {
      this.User[key] = value
    },
    clearUser() {
      // 清除用户信息
      this.User = {
        token: ''
      }
    },

    getUser() {
      // 从本地存储加载用户信息
      const storedUser = JSON.parse(window.localStorage.getItem('pinia-state'))
        ?.user?.User
      if (storedUser) {
        // 更新存储中的 User 对象
        Object.assign(this.User, storedUser)
      }
    }
  },

  persist: {
    enabled: true,
    strategies: [
      {
        storage: window.localStorage, // 可以选择 localStorage 或 sessionStorage
        paths: ['User'] // 持久化User对象
      }
    ]
  }
})

export default {
  setup() {
    const token = ref('') // 创建一个响应式变量 token

    const setToken = (newToken) => {
      token.value = newToken
    }
    const removeToken = () => {
      token.value = ''
    }
    return {
      token,
      setToken,
      removeToken
    }
  }
}

export const NationOptions = [
  '汉族',
  '蒙古族',
  '回族',
  '藏族',
  '维吾尔族',
  '苗族',
  '彝族',
  '壮族',
  '布依族',
  '朝鲜族',
  '满族',
  '侗族',
  '瑶族',
  '白族',
  '土家族',
  '哈尼族',
  '哈萨克族',
  '傣族',
  '黎族',
  '傈僳族',
  '佤族',
  '畲族',
  '高山族',
  '拉祜族',
  '水族',
  '东乡族',
  '纳西族',
  '景颇族',
  '柯尔克孜族',
  '土族',
  '达翰尔族',
  '仫佬族',
  '羌族',
  '布朗族',
  '撒拉族',
  '毛南族',
  '仡佬族',
  '锡伯族',
  '阿昌族',
  '普米族',
  '塔吉克族',
  '怒族',
  '乌孜别克族',
  '俄罗斯族',
  '鄂温克族',
  '德昂族',
  '保安族',
  '裕固族',
  '京族',
  '塔塔尔族',
  '独龙族',
  '鄂伦春族',
  '赫哲族',
  '门巴族',
  '珞巴族',
  '基诺族'
]

export const StayOptions = ['走读', '住宿']

export const GenderOptions = ['男','女']

export const SiblingRankOptions = [
  '独子',
  '长子',
  '长女',
  '次子',
  '次女',
  '三子',
  '三女',
  '其他'
]

export const FamilyTypeOptions = ['单亲', '双亲', '继父母家庭']

export const educationOptions = [
  '小学',
  '初中',
  '高中',
  '中专', // 中等专业学校
  '技校', // 技术学校
  '职高', // 职业高中
  '大专', // 短期大学，即专科
  '本科', // 大学本科
  '硕士研究生',
  '博士研究生'
]

export const CityOptions = [
  {
    value: 11,
    label: '广州市'
  },
  {
    value: 25,
    label: '深圳市'
  },
  {
    value: 35,
    label: '珠海市'
  },
  {
    value: 39,
    label: '汕头市'
  },
  {
    value: 76,
    label: '佛山市'
  },
  {
    value: 16,
    label: '韶关市'
  },
  {
    value: 84,
    label: '河源市'
  },
  {
    value: 50,
    label: '梅州市'
  },
  {
    value: 66,
    label: '惠州市'
  },
  {
    value: 14,
    label: '汕尾市'
  },
  {
    value: 12,
    label: '东莞市'
  },
  {
    value: 13,
    label: '中山市'
  },
  {
    value: 62,
    label: '江门市'
  },
  {
    value: 75,
    label: '阳江市'
  },
  {
    value: 77,
    label: '湛江市'
  },
  {
    value: 20,
    label: '茂名市'
  },
  {
    value: 19,
    label: '肇庆市'
  },
  {
    value: 89,
    label: '清远市'
  },
  {
    value: 15,
    label: '潮州市'
  },
  {
    value: 79,
    label: '揭阳市'
  },
  {
    value: 80,
    label: '云浮市'
  }
]

export const GradeOptions = [
  {
    value: '一年级',
    label: '一年级'
  },
  {
    value: '二年级',
    label: '二年级'
  },
  {
    value: '三年级',
    label: '三年级'
  },
  {
    value: '四年级',
    label: '四年级'
  },
  {
    value: '五年级',
    label: '五年级'
  },
  {
    value: '六年级',
    label: '六年级'
  },
  {
    value: '初一年级',
    label: '初一年级'
  },
  {
    value: '初二年级',
    label: '初二年级'
  },
  {
    value: '初三年级',
    label: '初三年级'
  },
  {
    value: '高一年级',
    label: '高一年级'
  },
  {
    value: '高二年级',
    label: '高二年级'
  },
  {
    value: '高三年级',
    label: '高三年级'
  }
]

export const StatusOptions = [
  {
    value: 1,
    label: '在校'
  },
  {
    value: 2,
    label: '休学'
  },
  {
    value: 3,
    label: '转学'
  },
  {
    value: 4,
    label: '退学'
  },
  {
    value: 5,
    label: '请假在家'
  },
  {
    value: 6,
    label: '毕业'
  }
]
